// src/api/registerApi.js
import axios from 'axios'
import { ElMessage } from 'element-plus'

// 使用相对路径，通过 Vite 代理发送请求
const BASE_URL = ''

// 创建专门用于注册的 Axios 实例，不添加认证头
const registerHttp = axios.create({
    baseURL: BASE_URL,
    timeout: 5000,
    withCredentials: true
})

// 请求拦截器 - 不添加 token
registerHttp.interceptors.request.use(
    config => {
        // 注册请求不需要添加Authorization头
        // 确保不会携带认证信息
        delete config.headers.Authorization
        return config
    },
    error => Promise.reject(error)
)

// 响应拦截器
registerHttp.interceptors.response.use(
    response => response.data,
    error => {
        if (error.response) {
            const msg = error.response.data?.msg || `请求错误 ${error.response.status}`
            ElMessage.error(msg)
            return Promise.reject(error)
        } else if (error.request) {
            ElMessage.error('网络异常，请检查后端是否启动')
            return Promise.reject(error)
        } else {
            ElMessage.error(error.message || '未知错误')
            return Promise.reject(error)
        }
    }
)

export default {
    // 用户注册接口
    register: (data) => registerHttp({
        url: '/api/user_account',
        method: 'post',
        data,
        headers: { 
            'Content-Type': 'application/json',
        }
    }),
    
    // 获取验证码接口
    captcha: async () => {
        try {
            const res = await registerHttp.get('/login/captcha')
            return res
        } catch (error) {
            console.error('获取验证码失败:', error)
            throw error
        }
    }
}